﻿
namespace __Able.Network.Connection
{
    /// <summary>
    /// 代理类型
    /// </summary>
    public enum ProxyType
    {
        /// <summary>
        /// 
        /// </summary>
        None,
        /// <summary>
        /// 
        /// </summary>
        Socks4,
        /// <summary>
        /// 
        /// </summary>
        Socks5
    }

    public class Proxy
    {
        public ProxyType ProxyType { get; set; }
        public string ProxyHost { get; set; }
        public int ProxyPort { get; set; }
        public string UserName { get; set; }
        public string Password { get; set; }
        public Proxy()
        {
            ProxyType = ProxyType.None;
        }
        public Proxy(ProxyType type, string proxyHost, int proxyPort)
        {
            this.ProxyType = type;
            this.ProxyHost = proxyHost;
            this.ProxyPort = proxyPort;
        }
        public Proxy(ProxyType type, string proxyServer, int proxyPort, string userName, string password) :
            this(type, proxyServer, proxyPort)
        {
            this.UserName = userName;
            this.Password = password;
        }
    }
}
